package com.settlement.system.model.entity.common;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.settlement.system.converter.RpaNeedDownReportConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;

/**
 * 广告营销账户信息表
 * @author xiaochuan
 * @since 2021-01-27
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblAdvertiseMarketAccount extends BaseModel implements Serializable {


    /**
     * 渠道
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "渠道")
    @ApiModelProperty(value = "渠道")
    @NotBlank(message = "渠道不能为空")
    private String channelName;

    /**
     * 渠道编码
     */
    @ColumnWidth(16)
    @ApiModelProperty(value = "渠道编码")
    private String channelNo;

    /**
     * 登录账号
     */
    @ColumnWidth(22)
    @ExcelProperty(value = "登录账号")
    @ApiModelProperty(value = "登录账号")
    @NotBlank(message = "登录账号不能为空")
    private String loginAccount;

    /**
     * 登录密码(变量名)
     */
    @ColumnWidth(22)
    @ExcelProperty(value = "登录密码(变量名)")
    @ApiModelProperty(value = "登录密码(变量名)")
    @NotBlank(message = "登录密码(变量名)不能为空")
    private String loginPassword;

    /**
     * 店铺手机号
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "店铺手机号")
    @ApiModelProperty(value = "店铺手机号")
    private String phone;

    /**
     * 支付宝手机号
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "支付宝手机号")
    @ApiModelProperty(value = "支付宝手机号")
    private String alipayPhone;

    /**
     * NC店铺名称
     */
    @ColumnWidth(25)
    @ExcelProperty(value = "NC店铺名称")
    @ApiModelProperty(value = "NC店铺名称")
    @NotBlank(message = "NC店铺名称不能为空")
    private String ncShopName;

    /**
     * NC店铺编码
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC店铺编码")
    @ApiModelProperty(value = "NC店铺编码")
    @NotBlank(message = "NC店铺编码不能为空")
    private String ncShopNo;

    /**
     * 店铺账号
     */
    @ColumnWidth(22)
    @ExcelProperty(value = "店铺账号")
    @ApiModelProperty(value = "店铺账号")
    @NotBlank(message = "店铺账号不能为空")
    private String shopAccountName;

    /**
     * 零售店铺名称
     */
    @ColumnWidth(30)
    @ExcelProperty(value = "零售店铺名称")
    @ApiModelProperty(value = "零售店铺名称")
    @NotBlank(message = "零售店铺名称不能为空")
    private String shopName;

    /**
     * 零售店铺编码
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "零售店铺编码")
    @ApiModelProperty(value = "零售店铺编码")
    @NotBlank(message = "零售店铺编码不能为空")
    private String shopNo;

    /**
     * 客商编码
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "客商编码")
    @ApiModelProperty(value = "客商编码")
    @NotBlank(message = "客商编码不能为空")
    private String customerNo;

    /**
     * 客商
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "客商")
    @ApiModelProperty(value = "客商")
    @NotBlank(message = "客商不能为空")
    private String customerName;

    /**
     * 是否需要下载报表  1,需要,  2不需要
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "是否需要下载报表",converter = RpaNeedDownReportConvert.class)
    @ApiModelProperty(value = "是否需要下载报表(1,需要,  2不需要)")
    private String needDownReport;
}
